﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Core;
using System.Data.SqlClient;
using Crosland.Automotriz.Logic.ControlExeption;
namespace Crosland.Automotriz.Logic.Linq
{
    public class clsTd_ModeloLogic
    {
        clsTd_ModeloDAO clstD_modeloDao = new clsTd_ModeloDAO();

        public List<TD_MODELO> listar_filtro_S()
        {
            try
            {
                return clstD_modeloDao.Listar_filtro_S();
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO listar_filtro_S", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public List<TD_MODELO> Listar_filtro_N()
        {
            try
            {
                return clstD_modeloDao.Listar_filtro_N();
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO Listar_filtro_N", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public List<TD_MODELO> listar_filtro_like(string des_modelo, string des_marca)
        {
            try
            {
                return clstD_modeloDao.listar_filtro_like(des_modelo, des_marca);
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO listar_filtro_like", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public bool Actualizar_Manual(string des_manual, int ID_MODELO)
        {
            try
            {
                return clstD_modeloDao.Actualizar_Manual(des_manual, ID_MODELO);
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO Actualizar_Manual", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }  

        }
        public bool Actualizar_Estado_S(int ID_MODELO)
        {
            try
            {
                return clstD_modeloDao.Actualizar_Estado_S(ID_MODELO);
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO Actualizar_Estado_S", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public bool Actualizar_Estado_N(int ID_MODELO)
        {
            try
            {
                return clstD_modeloDao.Actualizar_Estado_N(ID_MODELO);
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO Actualizar_Estado_N", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public IEnumerable<Object> listarXT_Man_Modelo_Imagen(string des_marca, string tipo_rueda)
        {
            try
            {
                return clstD_modeloDao.listarXT_Man_Modelo_Imagen(des_marca, tipo_rueda);
            }
            catch (SqlException sqlEx) { throw new RunException("ERROR EN EL PROCEDIMIENTO listarXT_Man_Modelo_Imagen", sqlEx); }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

        }
        public IEnumerable<Object> listarXT_Man_Modelo_Imagen_likeMarca(string des_marca, string tipo_rueda)
        {
            return clstD_modeloDao.listarXT_Man_Modelo_Imagen_likeMarca(des_marca, tipo_rueda);
        }
        public List<TD_MODELO> ListarModelosxMarca(int ID_MARCA)
        {
            return clstD_modeloDao.ListarModelosxMarca(ID_MARCA);
        }
        public List<TD_MODELO> ListarModeloxNroRuedasxMarcas(string strNroRuedas, int intIdMarca, String strvOperacion)
        {
            return clstD_modeloDao.ListarModeloxNroRuedasxMarcas(strNroRuedas, intIdMarca, strvOperacion);
        }
        public int? ObtenerIndBajaModelo(int intIdModelo)
        {
            return new clsTd_ModeloDAO().ObtenerIndBajaModelo(intIdModelo);
        }
    }
}
